package com.masterclient.app.businessmodule.settingmodule.api;

import com.eoner.baselib.container.CommonBaseResponse;
import com.eoner.common.bean.base.CommonBaseBean;
import com.masterclient.app.businessmodule.minemodule.index.tutor.MyTutorBean;
import com.masterclient.app.businessmodule.settingmodule.auth.bean.CustomerOcrBean;
import com.masterclient.app.businessmodule.settingmodule.auth.bean.OcrBean;
import com.masterclient.app.businessmodule.settingmodule.bankcard.bean.NewBankBean;
import com.masterclient.app.businessmodule.settingmodule.bankcard.bean.NewBankCardBean;
import com.masterclient.app.businessmodule.settingmodule.bankcard.bean.OperateResultBean;
import com.masterclient.app.businessmodule.settingmodule.crossborder.model.CrossBorderListBean;
import com.masterclient.app.businessmodule.settingmodule.crossborder.model.DefaultCrossBorderBean;

import java.util.List;

import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;

public interface SettingApi {

    /**
    * ocr
    * */
    @Multipart
    @POST("/v1/customer/identity_card/ocr")
    io.reactivex.Observable<CommonBaseResponse<OcrBean>> new_ocr(@Part List<MultipartBody.Part> parts);

    /**
    * 上传身份证图片
    * */
    @POST("/v1/customer/identity_card/upload")
    io.reactivex.Observable<CommonBaseBean> ocr_info_send(@Body RequestBody body);

    /**
     * 获取银行卡
     * */
    @GET("/v1/customer/bank/info/get")
    io.reactivex.Observable<CommonBaseResponse<NewBankCardBean>> getBankCard();

    //获取清关实名列表
    @GET("/v1/customer/identity_card/customs/list")
    io.reactivex.Observable<CrossBorderListBean> customer_cross_border_list();

    @POST("/v1/customer/identity_card/customs/delete")
    io.reactivex.Observable<CommonBaseBean> customer_cross_border_del(@Body RequestBody body);

    @POST("/v1/customer/identity_card/customs/default/set")
    io.reactivex.Observable<DefaultCrossBorderBean> setCrossBorderDefault(@Body RequestBody body);

    @POST("/v1/customer/identity_card/customs/manage")
    io.reactivex.Observable<CommonBaseBean> cross_border_manage(@Body RequestBody body);

    @Multipart
    @POST("/v1/customer/identity_card/customs/ocr")
    io.reactivex.Observable<CommonBaseResponse<CustomerOcrBean>> customs_ocr(@Part List<MultipartBody.Part> parts);

    /**
    * 退出登录
    * */
    @POST("/v1/customer/logout")
    io.reactivex.Observable<CommonBaseBean> logout();

    /**
    * 银行卡列表
    * */
    @GET("/v1/bank/list/get")
    io.reactivex.Observable<CommonBaseResponse<NewBankBean>> getBank();

    /**
    * 管理银行卡
    * */
    @POST("/v1/customer/bank/manage")
    io.reactivex.Observable<OperateResultBean> cardManage(@Body RequestBody body);

    /**
    * 移除银行卡
    * */
    @POST("/v1/customer/bank/remove")
    io.reactivex.Observable<OperateResultBean> cardRemove(@Body RequestBody body);

    /**
     * 我的导师
     * */
    @GET("/v1/customer/mentor")
    io.reactivex.Observable<CommonBaseResponse<MyTutorBean>> getMyTutorInfo();
}
